Remove the expander in Save mode, and the configuration key
authorFederico Mena Quintero <federico@gnome.org>
Mon, 27 Jun 2011 22:51:57 +0000 (17:51 -0500)
committerFederico Mena Quintero <federico@gnome.org>
Sat, 2 Jul 2011 00:05:12 +0000 (19:05 -0500)
This effectively makes the file chooser always be in 'expanded' mode.
Later, we'll move the pathbar to the 'Save in folder:' line.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
gtk/gtkfilechooserdefault.c
gtk/gtkfilechooserprivate.h
gtk/org.gtk.Settings.FileChooser.gschema.xml

index 3d3fc4985a1bd5b665e6a43109d6119f0b4f15f7..3658228b274438afd9507b7576acba20588ea145 100644 (file)
@@ -252,7 +252,6 @@ typedef enum {
 #define SETTINGS_KEY_LAST_FOLDER_URI     "last-folder-uri"
 #define SETTINGS_KEY_LOCATION_MODE       "location-mode"
 #define SETTINGS_KEY_SHOW_HIDDEN         "show-hidden"
-#define SETTINGS_KEY_EXPAND_FOLDERS      "expand-folders"
 #define SETTINGS_KEY_SHOW_SIZE_COLUMN    "show-size-column"
 #define SETTINGS_KEY_SORT_COLUMN         "sort-column"
 #define SETTINGS_KEY_SORT_ORDER          "sort-order"
@@ -4515,16 +4514,6 @@ file_pane_create (GtkFileChooserDefault *impl,
   return vbox;
 }
 
-/* Callback used when the "Browse for more folders" expander is toggled */
-static void
-expander_changed_cb (GtkExpander           *expander,
-                    GParamSpec            *pspec,
-                    GtkFileChooserDefault *impl)
-{
-  impl->expand_folders = gtk_expander_get_expanded(GTK_EXPANDER (impl->save_expander));
-  update_appearance (impl);
-}
-
 /* Callback used when the selection changes in the save folder combo box */
 static void
 save_folder_combo_changed_cb (GtkComboBox           *combo,
@@ -4740,17 +4729,6 @@ save_widgets_create (GtkFileChooserDefault *impl)
                    0, 0);
   gtk_label_set_mnemonic_widget (GTK_LABEL (impl->save_folder_label), impl->save_folder_combo);
 
-  /* Expander */
-
-  impl->save_expander = gtk_expander_new_with_mnemonic (_("_Browse for other folders"));
-  gtk_widget_set_halign (impl->save_expander, GTK_ALIGN_START);
-  gtk_widget_set_valign (impl->save_expander, GTK_ALIGN_CENTER);
-  gtk_box_pack_start (GTK_BOX (vbox), impl->save_expander, FALSE, FALSE, 0);
-  g_signal_connect (impl->save_expander, "notify::expanded",
-                   G_CALLBACK (expander_changed_cb),
-                   impl);
-  gtk_widget_show (impl->save_expander);
-
   impl->save_widgets = vbox;
   gtk_box_pack_start (GTK_BOX (impl), impl->save_widgets, FALSE, FALSE, 0);
   gtk_box_reorder_child (GTK_BOX (impl), impl->save_widgets, 0);
@@ -4769,7 +4747,6 @@ save_widgets_destroy (GtkFileChooserDefault *impl)
   impl->location_entry = NULL;
   impl->save_folder_label = NULL;
   impl->save_folder_combo = NULL;
-  impl->save_expander = NULL;
 }
 
 /* Turns on the path bar widget.  Can be called even if we are already in that
@@ -5281,21 +5258,6 @@ update_appearance (GtkFileChooserDefault *impl)
 
       gtk_label_set_text_with_mnemonic (GTK_LABEL (impl->save_folder_label), text);
 
-      if (gtk_expander_get_expanded (GTK_EXPANDER (impl->save_expander)))
-       {
-         gtk_widget_set_sensitive (impl->save_folder_label, FALSE);
-         gtk_widget_set_sensitive (impl->save_folder_combo, FALSE);
-         gtk_widget_set_has_tooltip (impl->save_folder_combo, FALSE);
-         gtk_widget_show (impl->browse_widgets);
-       }
-      else
-       {
-         gtk_widget_set_sensitive (impl->save_folder_label, TRUE);
-         gtk_widget_set_sensitive (impl->save_folder_combo, TRUE);
-         gtk_widget_set_has_tooltip (impl->save_folder_combo, TRUE);
-         gtk_widget_hide (impl->browse_widgets);
-       }
-
       if (impl->select_multiple)
        {
          g_warning ("Save mode cannot be set in conjunction with multiple selection mode.  "
@@ -5820,14 +5782,12 @@ settings_load (GtkFileChooserDefault *impl)
 {
   LocationMode location_mode;
   gboolean show_hidden;
-  gboolean expand_folders;
   gboolean show_size_column;
   gint sort_column;
   GtkSortType sort_order;
 
   settings_ensure (impl);
 
-  expand_folders = g_settings_get_boolean (impl->settings, SETTINGS_KEY_EXPAND_FOLDERS);
   location_mode = g_settings_get_enum (impl->settings, SETTINGS_KEY_LOCATION_MODE);
   show_hidden = g_settings_get_boolean (impl->settings, SETTINGS_KEY_SHOW_HIDDEN);
   show_size_column = g_settings_get_boolean (impl->settings, SETTINGS_KEY_SHOW_SIZE_COLUMN);
@@ -5838,10 +5798,6 @@ settings_load (GtkFileChooserDefault *impl)
 
   gtk_file_chooser_set_show_hidden (GTK_FILE_CHOOSER (impl), show_hidden);
 
-  impl->expand_folders = expand_folders;
-  if (impl->save_expander)
-    gtk_expander_set_expanded (GTK_EXPANDER (impl->save_expander), expand_folders);
-
   impl->show_size_column = show_size_column;
   gtk_tree_view_column_set_visible (impl->list_size_column, show_size_column);
 
@@ -5859,14 +5815,6 @@ save_dialog_geometry (GtkFileChooserDefault *impl)
   GtkWindow *toplevel;
   int x, y, width, height;
 
-  /* We don't save the geometry in non-expanded "save" mode, so that the "little
-   * dialog" won't make future Open dialogs too small.
-   */
-  if (!(impl->action == GTK_FILE_CHOOSER_ACTION_OPEN
-       || impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER
-       || impl->expand_folders))
-    return;
-
   toplevel = get_toplevel (GTK_WIDGET (impl));
 
   if (!(toplevel && GTK_IS_FILE_CHOOSER_DIALOG (toplevel)))
@@ -5901,7 +5849,6 @@ settings_save (GtkFileChooserDefault *impl)
   /* All the other state */
 
   g_settings_set_enum (impl->settings, SETTINGS_KEY_LOCATION_MODE, impl->location_mode);
-  g_settings_set_boolean (impl->settings, SETTINGS_KEY_EXPAND_FOLDERS, impl->expand_folders);
   g_settings_set_boolean (impl->settings, SETTINGS_KEY_SHOW_HIDDEN,
                           gtk_file_chooser_get_show_hidden (GTK_FILE_CHOOSER (impl)));
   g_settings_set_boolean (impl->settings, SETTINGS_KEY_SHOW_SIZE_COLUMN, impl->show_size_column);
@@ -7975,51 +7922,39 @@ gtk_file_chooser_default_get_default_size (GtkFileChooserEmbed *chooser_embed,
 {
   GtkFileChooserDefault *impl;
   GtkRequisition req;
+  int x, y, width, height;
 
   impl = GTK_FILE_CHOOSER_DEFAULT (chooser_embed);
 
-  if (impl->action == GTK_FILE_CHOOSER_ACTION_OPEN
-      || impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER
-      || impl->expand_folders)
-    {
-      int x, y, width, height;
-
-      settings_ensure (impl);
+  settings_ensure (impl);
 
-      g_settings_get (impl->settings, SETTINGS_KEY_WINDOW_POSITION, "(ii)", &x, &y);
-      g_settings_get (impl->settings, SETTINGS_KEY_WINDOW_SIZE, "(ii)", &width, &height);
+  g_settings_get (impl->settings, SETTINGS_KEY_WINDOW_POSITION, "(ii)", &x, &y);
+  g_settings_get (impl->settings, SETTINGS_KEY_WINDOW_SIZE, "(ii)", &width, &height);
 
-      if (x >= 0 && y >= 0 && width > 0 && height > 0)
-       {
-         *default_width = width;
-         *default_height = height;
-         return;
-       }
-
-      find_good_size_from_style (GTK_WIDGET (chooser_embed), default_width, default_height);
+  if (x >= 0 && y >= 0 && width > 0 && height > 0)
+    {
+      *default_width = width;
+      *default_height = height;
+      return;
+    }
 
-      if (impl->preview_widget_active &&
-         impl->preview_widget &&
-         gtk_widget_get_visible (impl->preview_widget))
-       {
-          gtk_widget_get_preferred_size (impl->preview_box,
-                                         &req, NULL);
-         *default_width += PREVIEW_HBOX_SPACING + req.width;
-       }
+  find_good_size_from_style (GTK_WIDGET (chooser_embed), default_width, default_height);
 
-      if (impl->extra_widget &&
-         gtk_widget_get_visible (impl->extra_widget))
-       {
-          gtk_widget_get_preferred_size (impl->extra_align, &req, NULL);
-         *default_height += gtk_box_get_spacing (GTK_BOX (chooser_embed)) + req.height;
-       }
+  if (impl->preview_widget_active &&
+      impl->preview_widget &&
+      gtk_widget_get_visible (impl->preview_widget))
+    {
+      gtk_widget_get_preferred_size (impl->preview_box,
+                                    &req, NULL);
+      *default_width += PREVIEW_HBOX_SPACING + req.width;
     }
-  else
+
+  if (impl->extra_widget &&
+      gtk_widget_get_visible (impl->extra_widget))
     {
-      gtk_widget_get_preferred_size (GTK_WIDGET (impl),
-                                     &req, NULL);
-      *default_width = req.width;
-      *default_height = req.height;
+      gtk_widget_get_preferred_size (impl->extra_align,
+                                    &req, NULL);
+      *default_height += gtk_box_get_spacing (GTK_BOX (chooser_embed)) + req.height;
     }
 }
 
index 117900fa32221bfac541aa334cf23349e75a6e51..cf4a6969fbd3495be9acc86f4f2ee0fd89f1b769 100644 (file)
@@ -165,7 +165,6 @@ struct _GtkFileChooserDefault
 
   GtkWidget *save_folder_label;
   GtkWidget *save_folder_combo;
-  GtkWidget *save_expander;
 
   /* The file browsing widgets */
   GtkWidget *browse_widgets;
@@ -298,7 +297,6 @@ struct _GtkFileChooserDefault
   guint list_sort_ascending : 1;
   guint changing_folder : 1;
   guint shortcuts_current_folder_active : 1;
-  guint expand_folders : 1;
   guint has_home : 1;
   guint has_desktop : 1;
   guint has_search : 1;
index 7bef20d17d75ad13b97c448cdb00c73a93d8ca0d..075a1ab638bf38b3645da1cc94733ff319a09ccf 100644 (file)
@@ -44,9 +44,6 @@
     <key name='show-hidden' type='b'>
       <default>false</default>
     </key>
-    <key name='expand-folders' type='b'>
-      <default>false</default>
-    </key>
     <key name='show-size-column' type='b'>
       <default>true</default>
     </key>